---
title: OBRetentionService dependencies
summary: Packages, framework assemblies, configuration, and the remote service that the OBRetentionService proxy depends on.
status: draft
owner: ProcessOB3PRetention team
last_reviewed: 2026-10-22
---

# OBRetentionService dependencies

To compile, the proxy needs the `System.ServiceModel` and `System.Runtime.Serialization` framework assemblies. To run, the application also needs `SAIF.Framework.Core` to resolve the endpoint address, the `SAIF.Framework.Windows` host to run the console lifecycle*, and the remote `ThirdPartyArchivalService`†.

## Internal dependencies

| Dependency | Reference Type | Version | Usage |
| --- | --- | --- | --- |
| `SAIF.Framework.Core` | NuGet Package | 4.8.26280.1 | `IEnvironmentService.GetConfigSetting(string)` supplies the runtime endpoint address, called from `ProcessOB3PRetention/Services/OnBaseService.cs:19`* |
| `SAIF.Framework.Windows` | NuGet Package | 4.8.26280.1 | Hosts the console lifecycle (`SaifStandardProgramBase`, `ConsoleBase<T>`) that resolves and runs the wrapper* |

Versions are the stable `PackageReference` versions in `ProcessOB3PRetention/ProcessOB3PRetention.csproj`, the project's only package manifest. The project sets `RestoreProjectStyle` to `PackageReference`, so the `.csproj` versions are expected to govern restore*. The restore step that the build pipeline runs is not defined in this repository*.

## External dependencies

| Dependency | Type | Version | Usage |
| --- | --- | --- | --- |
| `Autofac` | NuGet Package | 3.5.2 | Registers `OnBaseService` as `IOnBaseService` in `ProcessOB3PRetention/Program.cs` |
| `System.ServiceModel` | .NET Framework assembly reference | Framework | Supplies `ClientBase<T>`, `basicHttpBinding`, and the `<system.serviceModel>` configuration section; not a NuGet package |
| `System.Runtime.Serialization` | .NET Framework assembly reference | Framework | Supports serialization of the generated request and response types; not a NuGet package |

## Transitive dependencies

| Dependency | Source framework | Usage |
| --- | --- | --- |
| `IEnvironmentService` | `SAIF.Framework.Core` | Configuration lookup of the setting `ProcessOB3PRetention.WSPEndPointUrl`, reached from the `OnBaseService` constructor* |
| `SaifStandardProgramBase`, `ConsoleBase<T>` | `SAIF.Framework.Windows` | Console host that builds the container and runs the processor which calls the wrapper* |

## Service dependencies

| Service | Endpoint | Documented by this run | Documentation | Operations used | Usage |
| --- | --- | --- | --- | --- | --- |
| `ThirdPartyArchivalService`† | Value of the setting `ProcessOB3PRetention.WSPEndPointUrl`, seeded for each track by `environmentSettings/settings.yml`: `prod` is `https://onbase25prod.corp.saif.com/ThirdPartyArchivalService_Integration/SoapService.svc/SOAP11`, `entqa` is `https://onbase25qa.corp.saif.com/ThirdPartyArchivalService_Integration/SoapService.svc/SOAP11`, and `npuat` is `https://onbase25npuat.corp.saif.com/ThirdPartyArchivalService_Integration/SoapService.svc/SOAP11` | No | `ThirdPartyArchivalService`† | [`ArchiveDocument`](reference.md#archivedocument) | Receives one call per batch of claim numbers |

## Configuration dependencies

| Setting | Source | Required at | Usage |
| --- | --- | --- | --- |
| `ProcessOB3PRetention.WSPEndPointUrl` | Environment API, seeded for the `prod`, `entqa`, and `npuat` tracks by `environmentSettings/settings.yml` (group `processob3pretention`, key `wspendpointurl`) | Startup, when `OnBaseService` is constructed | Runtime endpoint address; no fallback |
| `<client><endpoint name="BasicHttpBinding_HylandOutBoundContract">` | `ProcessOB3PRetention/App.config` | Startup | Binding, binding configuration, and contract name |
| `processob3pretention.processbatchsize` | Environment API, seeded for each track by `environmentSettings/settings.yml` (200) | First batch | Claims per `ArchiveDocument` call; seeded 200, code fallback 100 for an empty or invalid value, and a missing key throws `ApplicationException` |

## Dependency risks and notes

| Dependency | Risk | Impact if unavailable |
| --- | --- | --- |
| `ThirdPartyArchivalService`† | Outside this repository; no retry, timeout, or fault handling around the call. See [Tech debt](tech-debt.md) | The `ArchiveDocument` call fails and the run stops at the first failing batch |
| `SAIF.Framework.Core` | Internal package, declared at stable version 4.8.26280.1. Supplies the endpoint address | The application cannot resolve the endpoint and fails at startup |
| Setting `ProcessOB3PRetention.WSPEndPointUrl` | No fallback; the `App.config` address is superseded at runtime* | A missing value fails during container resolution |

## Related documentation
- [Client index](index.md)
- [Overview](overview.md)
- [Architecture](architecture.md)
- [Contract](contract.md)
- [Operation map](operation-map.md)
- [Client reference](reference.md)
- [Consumption](consumption.md)
- [Business rules](business-rules.md)
- [Tech debt](tech-debt.md)

> **Note:** Statements marked with `†` are derived from dependency library
> documentation via the Legends CLI. Statements marked with `*` were inferred
> from code structure or contextual evidence.

## Sources
- ProcessOB3PRetention/ProcessOB3PRetention.csproj
- ProcessOB3PRetention/Services/OnBaseService.cs
- ProcessOB3PRetention/Program.cs
- ProcessOB3PRetention/App.config
- environmentSettings/settings.yml
